﻿ARK: Survival Ascended Server Manager - Build com grades de Engramas e Dinos
=============================================================================

Esta é uma CÓPIA separada da versão melhorada. A build anterior continua intacta.

Versão 1.1.0 - Atualização 19/10/2026 (3) - Sincronizar perfis (estilo ASM)
---------------------------------------------------------------------------
- O botão "Sincronizar" (barra do perfil, ao lado de "Criar Zip de Suporte")
  agora funciona: abre a janela "Sincronização de perfil".
  - Perfil de origem: o perfil selecionado (pode trocar na lista).
  - Seções a copiar (marque as que quiser): Administração (opções do servidor
    e itens do catálogo), Mensagem do dia (MOTD), Gerenciamento automático
    (reinício, atualização, backups, comandos agendados), Discord, Mods,
    Cluster, Plugins, Monitoramento, Regras, Chat e notificações, HUD e visuais,
    Jogadores, Configurações do Dino, Personalização de Dino (grade), Ambiente,
    Estruturas, Engramas (opções + grade), GameUserSettings.ini / Game.ini /
    Engine.ini personalizados, Progressões de nível, Substituições de criação,
    Spawners no mapa, Supply Crates, Excluir índices de itens, Stack de itens e
    Opções de inicialização.
  - Perfis de destino: todos os outros perfis, com "Selecionar tudo" e
    "Desmarque todos". Servidores em execução aparecem desativados e são ignorados.
  - NUNCA são copiados: nome e ID do perfil, nome do servidor (SessionName),
    senhas (servidor, admin e espectador), portas (jogo, query e RCON),
    configurações de RCON, IP/adaptador de rede, firewall, mapa, pasta de
    instalação, pasta secundária de backup e argumentos extras. ID e pasta do
    cluster só são copiados se a seção "Cluster" for marcada.
  - Os perfis de destino são salvos pelo caminho normal do "Salvar": perfil .json
    e, com local de instalação e senha de admin definidos, os INIs.
  - Backup: usa o backup automático do perfil (rodada 6). Se o destino mudou,
    a versão anterior vai para %AppData%\ASAServerManager\profiles\backups
    (últimas 10 por perfil); o caminho aparece no resumo e no log.
  - Ao final aparece um resumo (valores alterados, backup, INIs gravados,
    perfis ignorados) e o log registra cada sincronização.
- Versão do aplicativo: 1.0.0 -> 1.1.0 (mostrada no cabeçalho).

Novidades desta atualização (19/10/2026)
----------------------------------------
Adicionado:
- Primeira versão pública do repositório, com licença MIT.
- Grades de engramas e dinos no estilo ASM, com 709 engramas e 318 criaturas.
- 127 engramas exclusivos do ASA adicionados em `GameData/ASA_Additions.gamedata`.
- Sincronização de perfil entre servidores, com seções selecionáveis e backup automático.
- Gerenciamento de mods, backups, Discord, RCON, monitoramento, firewall e agendamentos.
- Interface em pt-BR, en-US, en-AU, es-ES, de-DE, fr-FR, ru-RU, tr-TR e zh-CN.
- Build reproduzível com metadados completos e suporte a assinatura de código.
- Política de privacidade, política de assinatura e workflow de release com SignPath.
- Script de build que gera os pacotes de build e de source com SHA-256.

Corrigido:
- Primitive Plus removido: o mod não existe no ARK: Survival Ascended.
- Removida a entrada inválida `EngramEntry_Craft_Watermelon_Seed_BP`.
- Versão do executável sincronizada com a versão distribuída (1.0.0 -> 1.1.0).
- ZIPs gerados com separador de caminho padrão (`/`).
- Documentação do aviso do SmartScreen e verificação de hash no LEIA-ME.

1) Grade de ENGRAMAS (estilo ASM)
   - Lista completa carregada de GameData\*.gamedata (709 engramas).
   - Colunas: Nome, Mod, Tekgram, Nível, Custo, Esconder, Remover Pré-Requisitos,
     Desbloqueio Automático, Nível de desbloqueio.
   - Filtro por nome/mod/classe e botão de recarregar os dados do jogo.
   - Checkboxes de topo: desbloquear todos, ativar substituições,
     permitir apenas engramas selecionados.
   Gravado no Game.ini:
     bAutoUnlockAllEngrams=True
     OverrideNamedEngramEntries=(EngramClassName="...",EngramHidden=...,EngramPointsCost=...,EngramLevelRequirement=...,RemoveEngramPreReq=...)
     EngramEntryAutoUnlocks=(EngramClassName="...",Level=...)

2) Grade de DINOS (estilo ASM)
   - Lista carregada de GameData (318 criaturas).
   - Tirar um dino do mapa: desmarque "Spawnável" -> NPCReplacements com ToClassName vazio.
   - Trocar um dino por outro: preencha "Substituir por" -> NPCReplacements.
   - Peso/Limite de spawn: ConfigOverrideNPCSpawnWeightMultipliers.
   - Filtro por nome/mod/classe e botão de recarregar.

Como usar
---------
1. Selecione o perfil, abra a seção "Engramas (grade)" ou "Personalização de Dino".
2. Altere o que quiser e clique em SALVAR (com o servidor parado, os INIs são gravados).
3. Só o que você alterou é escrito: engramas/dinos intocados não geram linhas no Game.ini.

Observações / limitações
------------------------
- O catálogo base vem do GameData do ASM (ASE), revisado para o ASA. Mods do ASA
  só aparecem depois de baixados pelo servidor.
- As colunas de dano/resistência por espécie ficaram fora desta build porque o ASA
  não tem chave vanilla documentada para isso; os multiplicadores de spawn e o
  NPCReplacements (tirar/trocar dino) estão implementados.
- "Permitir apenas engramas selecionados" marca EngramHidden=True em todo engrama
  que não esteja com "Desbloqueio Automático" marcado.
- Requisitos: Windows 10/11 e .NET 9.0 Desktop Runtime.
- Execute preferencialmente como Administrador (regras de firewall).

Visual das grades (estilo ASM)
------------------------------
- Cada mod tem uma cor pastel própria no fundo das linhas; a mesma cor se repete
  apenas para o mesmo mod. Itens sem mod ficam quase brancos.
- Tekgrams: fundo azul forte (#1E64FF) com texto branco em negrito.
- Cabeçalho cinza em negrito, fixo no topo enquanto a lista rola.
- Colunas redimensionáveis (arraste a divisória), reordenáveis e ordenáveis
  (clique no título). A coluna Nome ocupa o espaço que sobra.
- Seleção em azul e destaque ao passar o mouse.
- A coluna Nome fica congelada à esquerda: continua visível ao rolar a grade na horizontal.

Atalhos
-------
- Na barra do perfil, ao lado de "Localizar", existem os botões
  "Engramas (grade)" e "Personalização de Dino". Eles abrem a seção e rolam até ela.

Onde estão as grades
--------------------
- Engramas: seção "Engramas" (entre Estruturas e Detalhes do Arquivo) - a grade fica no topo.
- Dinos: seção "Configurações do Dino" - a grade fica no topo, com as opções antigas abaixo.

Catálogo de criaturas
---------------------
- Inclui 18 espécies exclusivas do ASA (Pyromane, Dreadmare, Ceratosaurus, Deinosuchus,
  Xiphactinus, Archelon, Gigantoraptor, Deinotherium, Helicoprion, Dreadnoughtus,
  Fasolasuchus, Shastasaurus, Yi Ling, Bison, Maeguana, Oasisaur, Cosmo e Armadoggo).
- Perfis já salvos recebem as criaturas e engramas novos automaticamente na próxima abertura.

Atualização 19/10/2026 (2) - Stack e progressões de nível no estilo ASM
-----------------------------------------------------------------------
- Substituições de tamanho de Stack: grade "Stack de itens" com botões
  Adicionar, Limpar tudo, Remover selecionado e Salvar. A coluna Item é uma lista
  com busca (digite o nome) de todos os itens do GameData, com o mod ao lado
  (Primitive Plus fica de fora). Colunas: Quantidade máxima e Ignorar multiplicador.
  Grava no Game.ini:
    ConfigOverrideItemMaxQuantity=(ItemClassString="PrimalItemResource_Stone_C",Quantity=(MaxItemQuantity=500,bIgnoreMultiplier=true))
  e lê de volta as linhas existentes (importação/perfil). Classes desconhecidas
  continuam na lista (mod "Custom"). O controle "Multiplicador de tamanho de Stack
  de itens" grava ItemStackSizeMultiplier no GameUserSettings.ini.
- Progressões de nível de jogador e Dino: marque "Ativar progressões de nível
  personalizadas" (e, se quiser, "Ativar progressões no nível Dino").
  - Tabelas oficiais carregadas do GameData; botões + / - em cada linha recalculam
    os níveis; "Engram Total" é a soma acumulada dos pontos.
  - Os últimos 100 níveis de jogador (Ascensão) ficam com fundo lilás; XP que não
    cresce em relação ao nível anterior fica em vermelho e gera aviso no log ao salvar.
  - Barra de cada grade: limpar, voltar ao oficial, gerar em massa (níveis,
    aumento de XP, pontos por nível), atualizar o XP máximo para o último nível,
    importar e exportar CSV.
  - Grava LevelExperienceRampOverrides (jogador e, se ativado, dino),
    OverridePlayerLevelEngramPoints e OverrideMaxExperiencePointsPlayer/Dino no
    Game.ini, e lê tudo de volta. Desmarcado = tabelas oficiais (nada é gravado).
- Corrigido o texto "Stac de Items" -> "Stack de itens".

NOVO (rodada 3):
- Substituições de Spawner no Mapa: adicione containers, escolha Adicionar/Subtrair/Substituir e selecione a linha para editar entradas e limites.
- Substituições de Supply Crates: marque 'Substituir' na crate (cores por tier) e selecione a linha para editar conjuntos > entradas > itens. Lista começa sem loot padrão: uma crate substituída só terá o que você definir.

NOVO (rodada 4) - Padrões do ARK Wiki:
- Supply crates e spawners mostram o padrão do ARK Wiki (somente leitura) ao expandir a linha; use 'Carregar padrão' para copiar e editar, 'Restaurar padrão' para voltar ao padrão do jogo.
- Caixas/containers sem alteração (ou iguais ao padrão) NÃO são gravados no Game.ini: o jogo usa o próprio loot.
- A wiki não informa pesos de conjunto/entrada, qualidade numérica nem chance de BP; ao carregar o padrão esses campos usam 1/1/0 - revise.

ATRIBUIÇÃO: GameData\WikiLoot.gamedata e GameData\WikiSpawns.gamedata contêm dados derivados do ARK Wiki (https://ark.wiki.gg), licenciados sob CC BY-SA 4.0 (https://creativecommons.org/licenses/by-sa/4.0/). Os arquivos derivados permanecem sob a mesma licença. Não oficial; os dados podem divergir da versão atual do jogo.

NOVO (rodada 5):
- Cabeçalho com o banner Bobs Praianos (tema vermelho-escuro) e ícone do escudo.
- Botão Discord abre https://discord.gg/nQNc3vqhVd e botão Doar abre https://bobspraianos.com.br/ no navegador padrão.

NOVO (rodada 6):
- Perfis só são regravados quando algo realmente muda; antes de sobrescrever, a versão anterior vai para %AppData%\ASAServerManager\profiles\backups (últimas 10 por perfil).
- Requer .NET 9 Desktop Runtime x64: https://dotnet.microsoft.com/download/dotnet/9.0

O WINDOWS AVISOU QUE O APP E DESCONHECIDO?
-------------------------------------------
O executavel nao possui assinatura digital paga, entao o SmartScreen mostra
"O Windows protegeu o seu PC" / "Editor desconhecido" na primeira execucao.
Isso e um aviso de reputacao, nao uma deteccao de virus. Se voce confia na
origem do download:
  1. Clique em "Mais informacoes" e depois em "Executar assim mesmo".
  2. Confira o SHA-256 do zip com o arquivo SHA256SUMS.txt publicado junto:
     PowerShell> Get-FileHash .\ASAM-v1.1.0-Build.zip -Algorithm SHA256
  3. Rode o antivirus no zip antes de extrair, se preferir.
Nao e necessario desativar o Windows Defender nem criar exclusoes.
Se o Defender apontar o arquivo como ameaca, envie para analise em
https://www.microsoft.com/en-us/wdsi/filesubmission (falso positivo).

